//var __sto = setInterval;
//window.setInterval = function(callback, timeout, param) {
//	let args = Array.prototype.slice.call(arguments, 2);
//	let _cb = function() {
//		callback.apply(null, args);
//	}
//	__sto(_cb, timeout);
//}
//window.setInterval(hello,3000,userName);

let slide = {
	bind: function(el, binding) { //被绑定

	},
	inserted(el, binding) { //绑定到节点
		$(el).css({
			'overflow': 'hidden',
			'max-height': '0px',
			'transition': 'max-height .8s'
		})
		//		if(binding.value) {
		//			slideDown(el);
		//		}
	},
	update: function(el, binding) { //组件更新
		let t1, t2
		t1 = window.setInterval(() => {
			//				
			window.clearInterval(t1);

		}, 10)
		t2 = window.setInterval(() => {
			//				
			window.clearInterval(t2);

		}, 10)
		let slide = 'down';
		if(binding.value) { //滑出
			slideDown(el);
		} else { //滑入	
			let height = $(el).height();
			slideUp(el, height);
		}

		function slideDown(el) {
			console.log(slide)
			slide = 'down'
			let minHeight = $(el).css('min-height').replace('px', '') * 1;
			let current_height = $(el).height();
			$(el).css({
				'max-height': 'none',
				'height': 'auto'
			})
			let height = $(el).height();
			let maxHeight = $(el).height();
			$(el).height('0px')
			window.clearInterval(t2);
			t1 = window.setInterval(() => {
				//				console.log(1)
				if($(el).height() < maxHeight) {
					$(el).height($(el).height() + 2 + 'px')
				} else {
					//					debugger
					window.clearInterval(t1);
				}
			}, 10)
			//	$(el).css({
			//		'max-height': current_height + 'px'
			//	})
			//	setTimeout(() => {
			//		$(el).css({
			//			'max-height': height + 'px'
			//		})
			//		setTimeout(HegihtNone, 810,el,new Date().valueOf())
			//	}, 10)
		}

		function slideUp(el, height) {
			console.log(slide)
			slide = 'up'

			let current_height = $(el).height();
			//			console.log(current_height)
			$(el).css({
				'max-height': current_height + 'px',
				'overflow': 'hidden',
				'transition': 'max-height .8s'
			})
			//			window.clearInterval(t1);
			//$(el).height(0)
			//return;
			let minHeight = $(el).css('min-height').replace('px', '') * 1;
			t2 = window.setInterval(() => {
				//				debugger
				if($(el).height() > minHeight) {
					//					console.log($(el).height())					
					let height = $(el).height() - 1 + 'px'
					$(el).height(height)
					//					console.log($(el).height())
				} else {
					//					debugger

					window.clearInterval(t2);
				}
			}, 10)
			//			setTimeout(() => {
			//				$(el).css({
			//					'max-height': '0px'
			//				})
			//			}, 10)
		}
	},
	componentUpdated: function() { //组件更新完成
		//		console.log('4 - componentUpdated');
	},
	unbind: function() { //解绑
		//		console.log('5 - unbinding');
	}
}

//function slideDown(el) {
//	let minHeight = $(el).css('min-height').replace('px', '') * 1;
//	let current_height = $(el).height();
//	$(el).css({
//		'max-height': 'none'
//	})
//	let height = $(el).height();
//	let maxHeight = $(el).height();
//	$(el).height('0px')
//	let t1 = window.setInterval(() => {
//		if($(el).height() < maxHeight) {
//			$(el).height($(el).height() + 1 + 'px')
//		} else {
//			window.clearInterval(t1);
//		}
//	}, 20, el, maxHeight)
//	//	$(el).css({
//	//		'max-height': current_height + 'px'
//	//	})
//	//	setTimeout(() => {
//	//		$(el).css({
//	//			'max-height': height + 'px'
//	//		})
//	//		setTimeout(HegihtNone, 810,el,new Date().valueOf())
//	//	}, 10)
//}

function HegihtNone(el, time) {
	console.log(time)
	console.log(new Date().valueOf())
	return
	let maxHeight = $(el).css('max-height').replace('px', '') * 1;
	let cur_height = $(el).height();
	if(cur_height == maxHeight) {
		//				$(el).css({
		//					'max-height': 'none'
		//				})
	}
}

//function slideUp(el, height) {
//	let current_height = $(el).height();
//	console.log(current_height)
//	$(el).css({
//		'max-height': current_height + 'px',
//		'overflow': 'hidden',
//		'transition': 'max-height .8s'
//	})
//	setTimeout(() => {
//		$(el).css({
//			'max-height': '0px'
//		})
//	}, 10)
//}

export default {
	slide
}